A discussion thread is a set of related messages. The relationships that are between the messages in a discussion thread are typically “comment/response” relationships. For example, a discussion thread may be initiated by a root message on a forum, which root message may include a comment or question. Users may respond to the root message, or to response messages under the root message, thus forming a hierarchy of messages. Sometimes, a forum will allow users to receive notifications of changes that have been made to a discussion thread, including new messages that have been posted to the thread. Thus, users may communicate about a particular subject in a dynamic manner, posting thoughts or questions that the users find pertinent to the subject and responding to other users' messages.
Discussion threads are widely used to facilitate communication about particular subjects, usually in connection with a forum on a particular subject. In an educational context, a forum may be dedicated to a particular class, and a discussion thread in the forum may be on a particular issue raised in connection with the particular class. For example, in a forum for a business class, a discussion thread may develop discussing various requirements of a particular homework assignment.
Display space permitting, a discussion thread is typically displayed with many or all of the messages shown in full, including responses to the root message, responses to the response messages, etc. If a message in the display is represented in an abbreviated manner, a user may request more details about the abbreviated message. In response to such a request, the text of the abbreviated message is generally added to the display of the rest of the fully displayed messages.
If a discussion thread includes many messages on many hierarchical levels of depth, the display of the thread can become cumbersome and confusing to navigate. For example, it may be difficult to track exactly where a particular message is with respect to the overall hierarchy of the thread. It may also be difficult to navigate to particular messages in the hierarchy, or even to navigate up the hierarchy to parent messages of the current message that a user is viewing. These problems are exacerbated when the discussion thread is displayed on a display with a small surface area, such as a mobile device display, or a display with a low screen resolution.
One way to indicate the hierarchical depth of a message within a thread involves indenting the message text. For example, the text of a reply message may be left-indented relative to the left alignment of the reply message's parent message text to give a visual indication of relative hierarchical position. However, text indentation does not work well with limited screen size because left indentation may leave very little horizontal space for message text. Also, when text wraps too quickly, the text becomes difficult for a user to read. Using text indentation with a small screen quickly dedicates too much of the horizontal space of the screen to indentations indicating hierarchical depth, especially when displaying a thread with a deep hierarchy.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.